package com.eastfair.pay.dto;

import com.eastfair.core.base.entity.SuperEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * <p>
 * 实体类
 * 发票抬头
 * </p>
 *
 * @author clm
 * @since 2022-06-08
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class InvoiceTitleDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotNull(message = "请填写主键", groups = SuperEntity.Update.class)
    private Long id;
    /**
     * 是否启用：1是；0否
     */
    private Integer isEnabled;
    /**
     * 是否删除：1是；0否
     */
    private Integer isDeleted;
    /**
     * 项目id
     */
    private Long projectId;
    /**
     * 子系统id
     */
    private Long subsystemId;
    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 业务系统客户id
     */
    private Long cutomerId;
    /**
     * 发票抬头
     */
    @Size(max = 255, message = "发票抬头长度不能超过255")
    private String invoiceTitle;
    /**
     * 税号
     */
    @Size(max = 255, message = "税号长度不能超过255")
    private String invoiceDutyParagraph;
    /**
     * 开票单位地址
     */
    @Size(max = 255, message = "开票单位地址长度不能超过255")
    private String companyAddress;
    /**
     * 开票单位电话
     */
    @Size(max = 255, message = "开票单位电话长度不能超过255")
    private String companyTel;
    /**
     * 银行账号
     */
    @Size(max = 255, message = "银行账号长度不能超过255")
    private String bankAccountNum;
    /**
     * 开户行
     */
    @Size(max = 255, message = "开户行长度不能超过255")
    private String bankName;
    /**
     * 系统code
     */
    @Size(max = 20, message = "系统code长度不能超过20")
    private String systemCode;

}
